#define _CRT_SECURE_NO_WARNINGS

#include "Queue.h"

int main()
{
	int i = 0;
	Queue queue;
	Queue* pqueue = &queue;
	QueueInit(pqueue);
	for (i = 0; i < 10; i++)
	{
		QueuePush(pqueue, i);
	}
	QueuePrint(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePrint(pqueue);
	printf("Queue size:%d\n", QueueSize(pqueue));
	printf("Head element:%d\n", QueueFront(pqueue));
	printf("Tail element:%d\n", QueueBack(pqueue));
	QueuePush(pqueue, -2);
	QueuePush(pqueue, -9);
	QueuePrint(pqueue);
	printf("Queue size:%d\n", QueueSize(pqueue));
	printf("Head element:%d\n", QueueFront(pqueue));
	printf("Tail element:%d\n", QueueBack(pqueue));
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePop(pqueue);
	QueuePrint(pqueue);
	printf("Queue size:%d\n", QueueSize(pqueue));
	printf("Head element:%d\n", QueueFront(pqueue));
	printf("Tail element:%d\n", QueueBack(pqueue));
	QueueDestroy(pqueue);
	return 0;
}
//
//#include <stdbool.h>
//#include <stdio.h>
//#include <stdlib.h>
//
//bool Push(char ch)
//{
//    if (ch == '(' || ch == '[' || ch == '{')
//    {
//        return true;
//    }
//    else
//    {
//        return false;
//    }
//}
//
//char Match(char ch)
//{
//    switch (ch)
//    {
//    case '(':
//        return ')';
//    case '[':
//        return ']';
//    case '{':
//        return '}';
//    }
//}
//
//bool isValid(char* s)
//{
//    int i = 0, j = 0;
//    int len = strlen(s);
//    char* arr = malloc((len + 1) * sizeof(char));
//    for (i = 0; i < len; i++)
//    {
//        if (Push(s[i]))
//        {
//            arr[j] = s[i];
//            j++;
//        }
//        else
//        {
//            if (j == 0)
//            {
//                return false;
//            }
//            if (Match(arr[j - 1]) != s[i])
//            {
//                return false;
//            }
//            j--;
//        }
//    }
//
//    if (j == 0)
//    {
//        return true;
//    }
//    return false;
//}
//
//int main()
//{
//    char str[100] = "()()[]{[}]";
//    if (isValid(str))
//    {
//        printf("yes\n");
//    }
//    else
//    {
//        printf("no\n");
//    }
//
//    return 0;
//}